<!DOCTYPE html>
<html>
<head><meta name="generator" content="Hexo 3.9.0">
  <meta charset="utf-8">
  
  <title>月迹的博客</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="月迹的博客，记录工作或生活中的学习历程，欢迎大家共同讨论！">
<meta name="keywords" content="yueji,月迹,博客,月迹的博客,大数据,Hadoop,HBase,学习,笔记">
<meta property="og:type" content="website">
<meta property="og:title" content="月迹的博客">
<meta property="og:url" content="https://xyueji.github.io/page/2/index.html">
<meta property="og:site_name" content="月迹的博客">
<meta property="og:description" content="月迹的博客，记录工作或生活中的学习历程，欢迎大家共同讨论！">
<meta property="og:locale" content="zh-CN">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="月迹的博客">
<meta name="twitter:description" content="月迹的博客，记录工作或生活中的学习历程，欢迎大家共同讨论！">
  
    <link rel="alternative" href="/atom.xml" title="月迹的博客" type="application/atom+xml">
  
  
    <link rel="icon" href="/img/favicon.png">
  
  
      <link rel="stylesheet" href="//cdn.bootcss.com/animate.css/3.5.0/animate.min.css">
  
  <link rel="stylesheet" href="../../css/style.css">
  <link rel="stylesheet" href="/font-awesome/css/font-awesome.min.css">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">
  
    
    
      <meta name="google-site-verification" content="S3ijAtNZbVQ4VMOqNk3lqR3X9-GTumPoUokR6jgwkeE">
    
  
  
      <link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
  
    
  <!-- 加载特效 -->
    <script src="/js/pace.js"></script>
    <link href="/css/pace/pace-theme-flash.css" rel="stylesheet">
  <script>
      var yiliaConfig = {
          rootUrl: '/',
          fancybox: true,
          animate: true,
          isHome: true,
          isPost: false,
          isArchive: false,
          isTag: false,
          isCategory: false,
          open_in_new: false
      }
  </script>
    <script src="https://cdn.bootcdn.net/ajax/libs/gitalk/1.6.2/gitalk.min.js"></script>
    <script>
        (function(){
            var bp = document.createElement('script');
            var curProtocol = window.location.protocol.split(':')[0];
            if (curProtocol === 'https') {
                bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
            }
            else {
                bp.src = 'http://push.zhanzhang.baidu.com/push.js';
            }
            var s = document.getElementsByTagName("script")[0];
            s.parentNode.insertBefore(bp, s);
        })();
    </script>
</head>
</html>
<body>
  <div id="container">
    <div class="left-col">
    <div class="overlay"></div>
<div class="intrude-less">
    <header id="header" class="inner">
        <a href="/" class="profilepic">
            
            <img lazy-src="/img/head.png" class="js-avatar">
            
        </a>

        <hgroup>
          <h1 class="header-author"><a href="/" title="Hi Mate">月 迹</a></h1>
        </hgroup>

        
        <p class="header-subtitle">用代码书写人生</p>
        
        
            <input type="text" class="search" id="search" style="text-align: center" placeholder="搜点什么...">
        
        
            <div id="switch-btn" class="switch-btn">
                <div class="icon">
                    <div class="icon-ctn">
                        <div class="icon-wrap icon-house" data-idx="0">
                            <div class="birdhouse"></div>
                            <div class="birdhouse_holes"></div>
                        </div>
                        <div class="icon-wrap icon-ribbon hide" data-idx="1">
                            <div class="ribbon"></div>
                        </div>
                        
                        <div class="icon-wrap icon-link hide" data-idx="2">
                            <div class="loopback_l"></div>
                            <div class="loopback_r"></div>
                        </div>
                        
                        
                        <div class="icon-wrap icon-me hide" data-idx="3">
                            <div class="user"></div>
                            <div class="shoulder"></div>
                        </div>
                        
                    </div>

                </div>
                <div class="tips-box hide">
                    <div class="tips-arrow"></div>
                    <ul class="tips-inner">
                        <li>菜单</li>
                        <li>标签</li>
                        
                        <li>友情链接</li>
                        
                        
                        <li>关于我</li>
                        
                    </ul>
                </div>
            </div>
        

        <div id="switch-area" class="switch-area">
            <div class="switch-wrap">
                <section class="switch-part switch-part1">
                    <nav class="header-menu">
                        <ul>
                        
                            <li><a href="../../index.html">博客首页</a></li>
                        
                            <li><a href="../../archives">文章归档</a></li>
                        
                            <li><a href="../../tags">文章统计</a></li>
                        
                            <li><a href="../../message">交友留言</a></li>
                        
                            <li><a href="../../navigation">资源导航</a></li>
                        
                            <li><a href="../../about">关于作者</a></li>
                        
                        </ul>
                    </nav>
                    <nav class="header-nav">
                        <ul class="social">
                            
                                <a class="fl mail" target="_blank" href="http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=U2FhYmdrZGVjamITIiJ9MDw_" title="mail">mail</a>
                            
                                <a class="fl github" target="_blank" href="https://github.com/xyueji" title="github">github</a>
                            
                                <a class="fl rss" target="_blank" href="../../atom.xml" title="rss">rss</a>
                            
                        </ul>
                    </nav>
                </section>

                
                <section class="switch-part switch-part2">
                    <div class="widget tagcloud" id="js-tagcloud">
                        <a href="../../tags/AppendTrie树/" style="font-size: 10px;">AppendTrie树</a> <a href="../../tags/HDFS/" style="font-size: 10px;">HDFS</a> <a href="../../tags/JanusGraph/" style="font-size: 10px;">JanusGraph</a> <a href="../../tags/SQL解析/" style="font-size: 10px;">SQL解析</a> <a href="../../tags/SQL采集/" style="font-size: 10px;">SQL采集</a> <a href="../../tags/alluxio/" style="font-size: 10px;">alluxio</a> <a href="../../tags/bitmap/" style="font-size: 10px;">bitmap</a> <a href="../../tags/container/" style="font-size: 10px;">container</a> <a href="../../tags/datasource/" style="font-size: 10px;">datasource</a> <a href="../../tags/docker/" style="font-size: 15px;">docker</a> <a href="../../tags/docker-compose/" style="font-size: 15px;">docker-compose</a> <a href="../../tags/flink/" style="font-size: 15px;">flink</a> <a href="../../tags/free/" style="font-size: 10px;">free</a> <a href="../../tags/git/" style="font-size: 10px;">git</a> <a href="../../tags/grafana/" style="font-size: 10px;">grafana</a> <a href="../../tags/hadoop/" style="font-size: 10px;">hadoop</a> <a href="../../tags/hbase/" style="font-size: 15px;">hbase</a> <a href="../../tags/hbck/" style="font-size: 10px;">hbck</a> <a href="../../tags/hive/" style="font-size: 15px;">hive</a> <a href="../../tags/idea/" style="font-size: 15px;">idea</a> <a href="../../tags/impala/" style="font-size: 10px;">impala</a> <a href="../../tags/iptables/" style="font-size: 10px;">iptables</a> <a href="../../tags/mac/" style="font-size: 10px;">mac</a> <a href="../../tags/mapreduce/" style="font-size: 10px;">mapreduce</a> <a href="../../tags/metrics2/" style="font-size: 10px;">metrics2</a> <a href="../../tags/opentsdb/" style="font-size: 10px;">opentsdb</a> <a href="../../tags/phoenix/" style="font-size: 15px;">phoenix</a> <a href="../../tags/presto/" style="font-size: 10px;">presto</a> <a href="../../tags/prometheus/" style="font-size: 10px;">prometheus</a> <a href="../../tags/pycharm/" style="font-size: 10px;">pycharm</a> <a href="../../tags/salt-api/" style="font-size: 10px;">salt-api</a> <a href="../../tags/shuffle/" style="font-size: 15px;">shuffle</a> <a href="../../tags/spark/" style="font-size: 15px;">spark</a> <a href="../../tags/springboot/" style="font-size: 10px;">springboot</a> <a href="../../tags/top/" style="font-size: 10px;">top</a> <a href="../../tags/vue/" style="font-size: 10px;">vue</a> <a href="../../tags/wordcount/" style="font-size: 10px;">wordcount</a> <a href="../../tags/修复工具/" style="font-size: 10px;">修复工具</a> <a href="../../tags/元数据/" style="font-size: 10px;">元数据</a> <a href="../../tags/分片/" style="font-size: 10px;">分片</a> <a href="../../tags/基础知识/" style="font-size: 10px;">基础知识</a> <a href="../../tags/大数据/" style="font-size: 20px;">大数据</a> <a href="../../tags/大文件/" style="font-size: 10px;">大文件</a> <a href="../../tags/大查询/" style="font-size: 10px;">大查询</a> <a href="../../tags/安装/" style="font-size: 10px;">安装</a> <a href="../../tags/小文件/" style="font-size: 10px;">小文件</a> <a href="../../tags/开发规范/" style="font-size: 10px;">开发规范</a> <a href="../../tags/数据倾斜/" style="font-size: 10px;">数据倾斜</a> <a href="../../tags/数据血缘/" style="font-size: 10px;">数据血缘</a> <a href="../../tags/测试/" style="font-size: 10px;">测试</a> <a href="../../tags/热门商品/" style="font-size: 10px;">热门商品</a> <a href="../../tags/端口/" style="font-size: 10px;">端口</a> <a href="../../tags/端口映射/" style="font-size: 10px;">端口映射</a> <a href="../../tags/精准去重/" style="font-size: 10px;">精准去重</a> <a href="../../tags/系统表/" style="font-size: 10px;">系统表</a> <a href="../../tags/表重建/" style="font-size: 10px;">表重建</a>
                    </div>
                </section>
                

                
                <section class="switch-part switch-part3">
                    <div id="js-friends">
                    
                      <a target="_blank" class="main-nav-link switch-friends-link" href="https://dayesahh.github.io/">DaYesahh</a>
                    
                      <a target="_blank" class="main-nav-link switch-friends-link" href="http://www.54tianzhisheng.cn/">zhisjeng</a>
                    
                    </div>
                </section>
                

                
                
                <section class="switch-part switch-part4">
                
                    <div id="js-aboutme">爱动漫、追小说、喜影视、迷于严谨和逻辑的编码之中！！！</div>
                </section>
                
            </div>
        </div>
    </header>
</div>

    </div>
    <div class="mid-col">
      <nav id="mobile-nav">
      <div class="overlay">
          <div class="slider-trigger"></div>
          <h1 class="header-author js-mobile-header hide"><a href="/" title="Me">月 迹</a></h1>
      </div>
    <div class="intrude-less">
        <header id="header" class="inner">
            <a href="/" class="profilepic">
                
                    <img lazy-src="/img/head.png" class="js-avatar">
                
            </a>
            <hgroup>
              <h1 class="header-author"><a href="/" title="Me">月 迹</a></h1>
            </hgroup>
            
            <p class="header-subtitle">用代码书写人生</p>
            
            <nav class="header-menu">
                <ul>
                
                    <li><a href="../../index.html">博客首页</a></li>
                
                    <li><a href="../../archives">文章归档</a></li>
                
                    <li><a href="../../tags">文章统计</a></li>
                
                    <li><a href="../../message">交友留言</a></li>
                
                    <li><a href="../../navigation">资源导航</a></li>
                
                    <li><a href="../../about">关于作者</a></li>
                
                <div class="clearfix"></div>
                </ul>
            </nav>
            <nav class="header-nav">
                <div class="social">
                    
                        <a class="mail" target="_blank" href="http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=U2FhYmdrZGVjamITIiJ9MDw_" title="mail">mail</a>
                    
                        <a class="github" target="_blank" href="https://github.com/xyueji" title="github">github</a>
                    
                        <a class="rss" target="_blank" href="../../atom.xml" title="rss">rss</a>
                    
                </div>
            </nav>
        </header>                
    </div>
</nav>
      <div class="body-wrap">
  
    <article id="post-docker-compose搭建大数据环境" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../docker-compose搭建大数据环境.html" class="article-date">
      <time datetime="2020-06-05T09:28:27.000Z" itemprop="datePublished">2020-06-05</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../docker-compose搭建大数据环境.html">docker-compose搭建大数据环境</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <p>之前写过一篇docker-compose一键启停Vue+SpringBoot的前后端项目。最近需要用到hadoop、es、kafka、flink等大数据组件，由于公司测试环境并不满足起这么多服务，加上正好公司分配的电脑主机处于空闲状态，于是想着在主机上用docker搭建大数据环境，供测试与学习使用。</p>
<h2 id="windows-docker桌面版安装"><a href="#windows-docker桌面版安装" class="headerlink" title="windows docker桌面版安装"></a>windows docker桌面版安装</h2><p>电脑主机系统是windows10，安装对应版本的docker，具体安装教程可参考<a href="https://www.runoob.com/docker/windows-docker-install.html" target="_blank" rel="noopener">https://runoob.com/docker/windows-docker-install.html</a>。</p>
<h2 id="docker-compose-yml"><a href="#docker-compose-yml" class="headerlink" title="docker-compose.yml"></a>docker-compose.yml</h2><p>首先编写docker-compose.yml文件，具体配置解释可以参考<a href="https://www.runoob.com/docker/docker-compose.html" target="_blank" rel="noopener">https://www.runoob.com/docker/docker-compose.html</a>，本次编写的大数据环境包括hadoop、hive、spark、es、kafka、flink和hbase。具体内容如下：<br>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/docker/">docker</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/docker/">docker</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/docker-compose/">docker-compose</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/大数据/">大数据</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../docker-compose搭建大数据环境.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-Mac-docker动态给Container添加端口映射" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../Mac-docker动态给Container添加端口映射.html" class="article-date">
      <time datetime="2020-05-28T03:11:28.000Z" itemprop="datePublished">2020-05-28</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../Mac-docker动态给Container添加端口映射.html">Mac-docker动态给Container添加端口映射</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <p>最近用docker搭建了hadoop、hive、HBase等集群，搭建完成后想要搭建Flink集群，发现无法动态给Container添加端口映射。上网搜寻一番发现解决之法。</p>
<h2 id="解决方法"><a href="#解决方法" class="headerlink" title="解决方法"></a>解决方法</h2><ol>
<li><p>通过docker container ls -a查看container id。<br><img src="https://cdn.jsdelivr.net/gh/xyueji/img@master/web/84306FEB-C1C3-43C7-9FC2-D0CDF06ACE66.png" alt="fc2fc56e823aafd859aa5be3c534d253"></p>
</li>
<li><p>Mac 下 Docker Containers配置文件在~/Library/Containers/com.docker.docker目录，进入该目录，我们要修改的文件在Data/vms/0下，进入后发现有个tty文件，使用screen tty登录，会进入一个新的screen窗口，如下：<br><img src="https://cdn.jsdelivr.net/gh/xyueji/img@master/web/F6808423-C8EC-4870-A0EB-D6149D1F5E79.png" alt="e3272a5114ab4a4c4cf077ca67710653"></p>
</li>
</ol>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/docker/">docker</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/container/">container</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/docker/">docker</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/mac/">mac</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/端口映射/">端口映射</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../Mac-docker动态给Container添加端口映射.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-Vue+SpringBoot项目docker一键部署" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../Vue+SpringBoot项目docker一键部署.html" class="article-date">
      <time datetime="2020-05-25T11:25:10.000Z" itemprop="datePublished">2020-05-25</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../Vue+SpringBoot项目docker一键部署.html">Vue+SpringBoot项目docker一键部署</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <p>项目编写完了，到了部署这一步发现过程比较繁杂，部署完后端部署前端。为了避免每次更新项目后繁琐的部署流程，选择docker可以一键部署，非常的方便，本文使用docker-compose，编写docker-compose.yml，实现一键部署与起停服务。</p>
<h2 id="Compose-简介"><a href="#Compose-简介" class="headerlink" title="Compose 简介"></a>Compose 简介</h2><p>Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose，您可以使用 YML 文件来配置应用程序需要的所有服务。然后，使用一个命令，就可以从 YML 文件配置中创建并启动所有服务。</p>
<p><strong>本文编写server.Dockerfile和fe.Dockerfile来安装前后端环境和编译项目，其中涉及到的配置文件有settings.xml和ngnix.conf，加上docker-compose.yml共5个文件。</strong></p>
<h2 id="server-Dockerfile"><a href="#server-Dockerfile" class="headerlink" title="server.Dockerfile"></a>server.Dockerfile</h2>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/docker/">docker</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/docker-compose/">docker-compose</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/springboot/">springboot</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/vue/">vue</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../Vue+SpringBoot项目docker一键部署.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-vue-simple-uploader+springboot大文件上传" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../vue-simple-uploader+springboot大文件上传.html" class="article-date">
      <time datetime="2020-05-22T14:20:50.000Z" itemprop="datePublished">2020-05-22</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../vue-simple-uploader+springboot大文件上传.html">vue-simple-uploader+springboot大文件上传</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <p>&nbsp;&nbsp;&nbsp;&nbsp;最近遇到一个vue大文件上传的问题，需要实现断点和分片上传。在网上查询许久，发现vue-simple-uploader这个插件可以满足新需求。由于本人项目用的是vue+springboot前后端分离技术，因此在此分前后端记录一下vue-simple-uploader如何使用。</p>
<h2 id="SpringBoot后端"><a href="#SpringBoot后端" class="headerlink" title="SpringBoot后端"></a>SpringBoot后端</h2><p><strong>一、创建文件分片和文件实体类</strong><br>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/功能小记/">功能小记</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/分片/">分片</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/大文件/">大文件</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../vue-simple-uploader+springboot大文件上传.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-IDEA连接Impala" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../IDEA连接Impala.html" class="article-date">
      <time datetime="2020-05-21T06:01:35.000Z" itemprop="datePublished">2020-05-21</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../IDEA连接Impala.html">IDEA连接Impala</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <p><strong>IDEA添加Driver and Data Source</strong></p>
<ol>
<li>打开idea右侧Database选项=》点击加号=》点击Driver and Data Source。</li>
</ol>
<p><img src="https://cdn.jsdelivr.net/gh/xyueji/img@master/web/image-20200521132254056.png" alt="image-20200521132254056"></p>
<ol start="2">
<li>添加Driver，点击User  Driver =》Go to Driver。</li>
</ol>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/impala/">impala</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/datasource/">datasource</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/idea/">idea</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/impala/">impala</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../IDEA连接Impala.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-HBase基本知识" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../HBase基本知识.html" class="article-date">
      <time datetime="2020-02-06T09:56:57.000Z" itemprop="datePublished">2020-02-06</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../HBase基本知识.html">HBase基本知识</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <p><strong>数据模型</strong></p>
<ol>
<li><p>Name Space</p>
<p>​    命名空间，类似于关系型数据库的 DatabBase 概念，每个命名空间下有多个表。HBase 有两个自带的命名空间，分别是 hbase 和 default，hbase中存放的是 HBase 内置的表， default 表是用户默认使用的命名空间。</p>
</li>
<li><p>Region</p>
</li>
</ol>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/hbase/">hbase</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/hbase/">hbase</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/基础知识/">基础知识</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../HBase基本知识.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-IDE破解" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../IDE破解.html" class="article-date">
      <time datetime="2020-02-06T09:46:34.000Z" itemprop="datePublished">2020-02-06</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../IDE破解.html">IDE破解</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <h1 id="IDE破解"><a href="#IDE破解" class="headerlink" title="IDE破解"></a>IDE破解</h1><p>目前提供Idea2019和Pycharm2019.3.1破解方法，持续收集中~~~</p>
<p>相关破解补丁如下：</p>
<p>链接:<a href="https://pan.baidu.com/s/16_vBzCo_UKqkXSjHJ0J-MQ" target="_blank" rel="noopener">https://pan.baidu.com/s/16_vBzCo_UKqkXSjHJ0J-MQ</a>  密码:3ga4</p>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/工具/">工具</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/idea/">idea</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/pycharm/">pycharm</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../IDE破解.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-salt-api配置" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../salt-api配置.html" class="article-date">
      <time datetime="2020-01-20T08:30:15.000Z" itemprop="datePublished">2020-01-20</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../salt-api配置.html">salt-api配置</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <h1 id="salt-api配置"><a href="#salt-api配置" class="headerlink" title="salt-api配置"></a>salt-api配置</h1><h3 id="一、安装salt-api相关软件"><a href="#一、安装salt-api相关软件" class="headerlink" title="一、安装salt-api相关软件"></a>一、安装salt-api相关软件</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">yum install salt-minion.noarch -y</span><br><span class="line">yum install salt-master.noarch -y</span><br><span class="line">yum install salt-syndic.noarch -y</span><br><span class="line">yum install salt-api.noarch -y</span><br><span class="line">yum install pyOpenSSL.x86_64 -y </span><br><span class="line"></span><br><span class="line"><span class="meta">#</span><span class="bash">设置开机自启动</span></span><br><span class="line">chkconfig salt-api on</span><br><span class="line">chkconfig salt-master on</span><br><span class="line">chkconfig salt-minion on</span><br></pre></td></tr></table></figure>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/SaltStack/">SaltStack</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/salt-api/">salt-api</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../salt-api配置.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-线上HBase表重建" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../线上HBase表重建.html" class="article-date">
      <time datetime="2020-01-20T07:48:53.000Z" itemprop="datePublished">2020-01-20</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../线上HBase表重建.html">线上HBase表重建</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <h3 id="一、创建临时表"><a href="#一、创建临时表" class="headerlink" title="一、创建临时表"></a>一、创建临时表</h3><ol>
<li>预切分</li>
</ol>
<p>​           根据表数据特点选取合适的方式预切分表。</p>
<ol start="2">
<li>创建临时表</li>
</ol>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/hbase/">hbase</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/表重建/">表重建</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../线上HBase表重建.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
    <article id="post-Alluxio+Presto多版本测试" class="article article-type-post" itemscope itemprop="blogPost">
    
    <div class="article-meta">
      <a href="../../Alluxio+Presto多版本测试.html" class="article-date">
      <time datetime="2020-01-20T04:03:50.000Z" itemprop="datePublished">2020-01-20</time>
</a>
    </div>
  
  <div class="article-inner">
    
      <input type="hidden" class="isFancy" />
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="article-title" href="../../Alluxio+Presto多版本测试.html">Alluxio+Presto多版本测试</a>
    </h1>
  

      </header>
      
    
    <div class="article-entry" itemprop="articleBody">
      
          
              <h2 id="Alluxio-Presto多版本测试"><a href="#Alluxio-Presto多版本测试" class="headerlink" title="Alluxio+Presto多版本测试"></a>Alluxio+Presto多版本测试</h2><h4 id="一、测试环境"><a href="#一、测试环境" class="headerlink" title="一、测试环境"></a>一、测试环境</h4><table>
<thead>
<tr>
<th>Prestosql</th>
<th>1台主节点，4台worker节点（版本0.211&amp;327）</th>
</tr>
</thead>
<tbody>
<tr>
<td>Prestodb</td>
<td>1台主节点，4台worker节点（版本0.211&amp;0.229）</td>
</tr>
<tr>
<td>Alluxio</td>
<td>1台主节点，4台worker节点（版本2.1.0）</td>
</tr>
<tr>
<td>硬件信息</td>
<td>共5台机器，每台48核cpu、125G内存</td>
</tr>
<tr>
<td>测试工具</td>
<td>Jmeter</td>
</tr>
</tbody>
</table>
          
      
      
    </div>
    
    <div class="article-info article-info-index">
      
      
    <div class="article-category tagcloud">
    <a class="article-category-link" href="../../categories/presto/">presto</a>
    </div>


      
    <div class="article-tag tagcloud">
        <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/alluxio/">alluxio</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/presto/">presto</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="../../tags/测试/">测试</a></li></ul>
    </div>

      
        <p class="article-more-link">
          <a  href="../../Alluxio+Presto多版本测试.html#more">阅读全文 >></a>
        </p>
      
      <div class="clearfix"></div>
    </div>
    
  </div>
  
</article>











  
  
    <nav id="page-nav">
      <a class="extend prev" rel="prev" href="../../">&laquo; Prev</a><a class="page-number" href="../../">1</a><span class="page-number current">2</span><a class="page-number" href="../3/">3</a><a class="extend next" rel="next" href="../3/">Next &raquo;</a>
    </nav>
  
</div>
      <footer id="footer">
    <div class="outer">
        <div id="footer-info">
            <div class="footer-left">
                &copy; 2022 月 迹
            </div>
            <div class="footer-right">
                <a href="http://hexo.io/" target="_blank" style="color: #000">Hexo</a>  Theme <a href="https://github.com/luuman/hexo-theme-spfk" target="_blank" style="color: #000">spfk</a> by luuman
            </div>
        </div>
        
            <div class="visit">
                
                    <span id="busuanzi_container_site_pv" style='display:none'>
                        <span id="site-visit" >本站到访数:
                            <span id="busuanzi_value_site_uv"></span>
                        </span>
                    </span>
                
                
                    <span>, </span>
                
                
                    <span id="busuanzi_container_page_pv" style='display:none'>
                        <span id="page-visit">本页阅读量:
                            <span id="busuanzi_value_page_pv"></span>
                        </span>
                    </span>
                
            </div>
        
    </div>
</footer>

    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.6/require.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="../../js/main.js"></script>

    <!--<script>-->
        <!--$(document).ready(function() {-->
            <!--var backgroundnum = 0;-->
            <!--var backgroundimg = "url(/background/bg-" + backgroundnum +".jpg)";-->
            <!--$("#mobile-nav").css({"background-image": backgroundimg,"background-size": "cover","background-position": "center"});-->
            <!--$(".left-col").css({"background-image": backgroundimg,"background-size": "cover","background-position": "center"});-->
        <!--})-->
    <!--</script>-->



<!-- Google Analytics -->
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-168200248-1"></script>
<script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'UA-168200248-1');
</script>

<!-- End Google Analytics -->



<script>
	var _hmt = _hmt || [];
	(function() {
		var hm = document.createElement("script");
		hm.src = "https://hm.baidu.com/hm.js?1c0d5d76b7455fc584663ce315f75837";
		var s = document.getElementsByTagName("script")[0];
		s.parentNode.insertBefore(hm, s);
	})();
</script>



<div class="scroll" id="scroll">
    <a href="#"><i class="fa fa-arrow-up"></i></a>
    <a href="#comments"><i class="fa fa-comments-o"></i></a>
    <a href="#footer"><i class="fa fa-arrow-down"></i></a>
</div>
<script>
    $(document).ready(function() {
        if ($("#comments").length < 1) {
            $("#scroll > a:nth-child(2)").hide();
        };
    })
</script>


<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    
    <script language="javascript">
    $(function() {
        $("a[title]").each(function() {
            var a = $(this);
            var title = a.attr('title');
            if (title == undefined || title == "") return;
            a.data('title', title).removeAttr('title').hover(

            function() {
                var offset = a.offset();
                $("<div id=\"anchortitlecontainer\"></div>").appendTo($("body")).html(title).css({
                    top: offset.top - a.outerHeight() - 15,
                    left: offset.left + a.outerWidth()/2 + 1
                }).fadeIn(function() {
                    var pop = $(this);
                    setTimeout(function() {
                        pop.remove();
                    }, pop.text().length * 800);
                });
            }, function() {
                $("#anchortitlecontainer").remove();
            });
        });
    });
</script>
    
    
    
        <div class="search-result-list" ></div>
        <div class="search-cover"></div>
    <script type = "text/javascript" >
        $('#search').bind('keypress',function(event){
            if(event.keyCode == "13"){
                search()
            }
        });

    function search() {
        var searchTool = {
            data: [],
            arrList: [],
            oldList: [],
            init() {
                this.fetchJson()
            },
            fetchJson() {
                window.fetch('/content.json?t=' + (+new Date()), {
                    method: 'get',
                }).then((res) => {
                    return res.json()
                }).then((data) => {
                    this.data = data
                    let keywords = $('#search').val()
                    this.searchList(keywords)
                }).catch((err) => {
                    console.log(err)
                });
            },
            // 搜索字符串里面是否存在关键字
            isSreachIndexOF(oldstr, kw) {
                // console.log(oldstr, kw)
                var istrue = false
                // console.log('isSreachIndexOF', oldstr && toString.call(oldstr) === '[object Array]')
                if (oldstr && toString.call(oldstr) === '[object Array]') {
                    for (var i = 0; i < oldstr.length; i++) {
                        oldstr[i].toLowerCase() === kw.toLowerCase() ? istrue = true : null
                    }
                    return istrue
                }
                if (!oldstr || !kw) return false
                istrue = oldstr.toLowerCase().indexOf(kw.toLowerCase()) > -1
                return istrue
            },
            searchList(keywolds) {
                let divList = ''
                if (!keywolds) {
                    if (this.oldList.length) this.clear()
                } else {
                    this.data.forEach((item, index) => {
                        let tagsK = item.tags.map(item => item.name).join('-')
                        let categoriesK = item.categories.map(item => item.name).join('-')
                        if (this.isSreachIndexOF(item.title, keywolds) || this.isSreachIndexOF(tagsK, keywolds) || this.isSreachIndexOF(categoriesK, keywolds) || this.isSreachIndexOF(item.content, keywolds)) {
                            divList += `
                          <li>
                            <a href="/${item.path}" class="search-result-title">${item.title}</a>
                            <div class="main">
                              <div class="left">
                                <span>${item.author ? item.author : 'xyueji'}</span>
                                ${item.tags.map(tags => `<a href="/tags/${tags.slug}" class="search-result-tags">${tags.name}</a>`)}
                              </div>
                              <div class="right">${this.getFriendlyTime(item.date.replace('T', ' '), new Date())}</div>
                            </div>
                          </li>`
                        }
                    })
                    if (this.oldList.length) {
                        this.clear()
                    }
                    if (this.arrList.length) this.add()
                }
                if (!divList) {
                    divList = `<a class="search_close" href="javascript:void(0)" onclick="searchToggle()">×</a> <div style="text-align: center;font-size: 30px; margin-top: 50px;" ">抱歉，未搜索到相关结果</div>`
                } else {
                    divList = `<a class="search_close" href="javascript:void(0)" onclick="searchToggle()">×</a> <ul>` + divList + `</ul>`
                }
                $('.search-result-list').html(divList)
                $('.search-result-list').fadeToggle();
                $('.search-cover').fadeToggle();
            },
            clear() {
                this.oldList.forEach(item => {
                    $(".search-result-list li")[item].style.display = 'none'
                })
                this.oldList = []
            },
            add() {
                this.arrList.forEach(item => {
                    $(".search-result-list li")[item].style.display = 'block'
                })
                this.oldList = this.arrList
            },
            searchGo(keywolds) {
                this.arrList = []
                if (!keywolds) {
                    if (this.oldList.length) this.clear()
                } else {
                    this.data.forEach((item, index) => {
                        if (this.isSreachIndexOF(item.title, keywolds) || this.isSreachIndexOF(item.tags.map(item => item.name).join('-'), keywolds) || this.isSreachIndexOF(item.categories.map(item => item.name).join('-'), keywolds) || this.isSreachIndexOF(item.content, keywolds)) {
                            this.arrList.push(index)
                        }
                    })
                    if (this.oldList.length) this.clear()
                    if (this.arrList.length) this.add()
                }
            },
            /**
             * 获取指定时间的友好时间字符串。
             * @param str 指定的时间字符串，如yyyy-MM-dd HH:mm:ss
             * @param now 当前时间，允许时间戳，GMT时间，如果该参数为undefined，则使用浏览器时间。
             */
            getFriendlyTime(str, now) {
                var currentTime = new Date(now);
                var arr = str.split(/\s+/gi);
                var temp = 0, arr1, arr2, oldTime, delta;
                var getIntValue = function (ss, defaultValue) {
                    try {
                        return parseInt(ss, 10);
                    } catch (e) {
                        return defaultValue;
                    }
                };
                var getWidthString = function (num) {
                    return num < 10 ? ('0' + num) : num;
                };
                if (arr.length >= 2) {
                    arr1 = arr[0].split(/[\/\-]/gi);
                    arr2 = arr[1].split(':');
                    oldTime = new Date();
                    oldTime.setYear(getIntValue(arr1[0], currentTime.getFullYear()));
                    oldTime.setMonth(getIntValue(arr1[1], currentTime.getMonth() + 1) - 1);
                    oldTime.setDate(getIntValue(arr1[2], currentTime.getDate()));

                    oldTime.setHours(getIntValue(arr2[0], currentTime.getHours()));
                    oldTime.setMinutes(getIntValue(arr2[1], currentTime.getMinutes()));
                    oldTime.setSeconds(getIntValue(arr2[2], currentTime.getSeconds()));

                    delta = currentTime.getTime() - oldTime.getTime();

                    if (delta <= 60 * 1000) {
                        return '1分钟内';
                    } else if (delta < 60 * 60 * 1000) {
                        return Math.floor(delta / (60 * 1000)) + '分钟前';
                    } else if (delta < 24 * 60 * 60 * 1000) {
                        return Math.floor(delta / (60 * 60 * 1000)) + '小时前';
                    } else if (delta < 24 * 60 * 60 * 1000 * 30) {
                        return Math.floor(delta / (24 * 60 * 60 * 1000)) + '天前';
                    } else if (delta < 24 * 60 * 60 * 1000 * 30 * 12) {
                        return Math.floor(delta / (24 * 60 * 60 * 1000 * 30)) + '月前';
                    } else if (currentTime.getFullYear() != oldTime.getFullYear()) {
                        return [getWidthString(oldTime.getFullYear()), getWidthString(oldTime.getMonth() + 1), getWidthString(oldTime.getDate())].join('-')
                    } else {
                        return [getWidthString(oldTime.getMonth() + 1), getWidthString(oldTime.getDate())].join('-');
                    }
                }
                return '';
            }
        }
        searchTool.init()
    }
    function searchToggle() {
        $('.search-cover').fadeToggle();
        $('.search-result-list').fadeToggle();
    }
</script>


  </div>
</body>
</html>
